﻿using Microsoft.AspNetCore.Mvc;

namespace MVC高级教程.Controllers
{
    public class HTTPController : Controller
    {
        /**
            Http 请求报文格式
                1、请求行:   对应Chrome中General(常规)项目中的内容 (RequestUrl,RequestMethod,StateCode,RemoteAddres(221.231.83.112:443,主机Ip加端口号)，Referrer Policy(来源celue))
                2、求情头：
                            
        **/

        /**
            请求方式：
                ①、Get： 请求获取Request-URI所标识的资源
                ②、Post：在Request-URI所标识的资源后附加新的数据
                ③ HEAD：请求获取由Request-URI所标识的资源的响应消息报头。
                ④、PUT：请求服务器存储一个资源，并用Request-URI作为其标识。
                ⑤、DELETE：请求服务器删除Request-URI所标识的资源。
                ⑥、TRACE：请求服务器回送收到的请求信息，主要用于测试或诊断。
                ⑦、CONNECT：HTTP 1.1协议中预留给能够将连接改为管道方式的代理服务器。
                ⑧、OPTIONS：请求查询服务器的性能，或者查询与资源相关的选项和需求

                常用的有2种
                    GET：
                            1. 请求参数在请求行中，在url后。
                            2. 请求的url长度有限制的，也就几十kb(Url能有多长，也就那么长，狠让你输入你也输入不了太多)
                            3. 不太安全(所有的请求参数都在Url的？号后面明文写出来了，很容易被人拦截利用)
                            4. 可被收藏到书签，也可被缓存
                    POST：
                            1. 请求参数在请求体中
                            2. 请求的url长度没有限制的
                            3. 相对安全
        **/

        public IActionResult Index()
        {
            return View();
        }
    }
}
